package org.hismig.scheduler;

import java.util.Date;

import org.hismig.cfg.Configuration;
import org.hismig.cfg.Trigger;

/**
 * @declare: //TODO <br />
 *           This class created by Vansion.Hopihit on 2012-07-04 <br />
 *           <a href="mailto:vansionhopihit@gmail.com">Contact Me</a>
 * @version 1.0
 * @author Vansion.Hopihit
 * 
 */
public interface ITrigger {

	public static final String KEY_EXPRESSION = "expression";

	public void setTrigger(Trigger trigger);

	public void execute(Configuration configuration);

	public void resume();

	public void pause();

	public void addListener(ITriggerListener triggerListener);

	public void removeListener(ITriggerListener triggerListener);

	public Date getPreviousFireTime();

	public Date getNextFireTime();

	public String getName();

	public Trigger getTrigger();
}
